home *** CD-ROM | disk | FTP | other *** search
- /*
- -*++ class ocean_layer:
- **
- ** (*++ history:
- ** 12 Jan 88 Bruce Eckel Creation date
- ** ++*)
- **
- ** (*++ detailed:
- ** ++*)
- */
-
- class Cheb_vector;
- class vi_matrix;
- class ekman_layer;
- class ocpanel;
-
- class ocean_layer {
- Cheb_vector Qnew, Qold, h;
- double dt;
- vi_matrix A;
- double ocean_lambda;
- double ocean_xldomain, ocean_xrdomain;
- double ocean_viscosity_value;
- visc_type ocean_viscosity_type;
- int ocean_nmodes;
- int nstep;
- double time;
- int running;
- public:
- ocean_layer(int initial_modes = 32, double initial_lambda = 100);
- double lambda() { return ocean_lambda;}
- double xldomain() { return ocean_xldomain;}
- double xrdomain() { return ocean_xrdomain;}
- double viscosity_value() { return ocean_viscosity_value; }
- visc_type viscosity_type() { return ocean_viscosity_type; }
- int nmodes() { return ocean_nmodes; }
- void step(ekman_layer & ekman);
- void update(ocpanel & ocean_panel, ekman_layer & ekman);
- void diagnostics(ocpanel & ocean_panel);
- };